From 54403985e65392aa37bafaf981e9978a66914765 Mon Sep 17 00:00:00 2001 From: Jason Rumney Date: Mon, 26 Nov 2007 23:03:28 +0000 Subject: [PATCH] (sys_spawnve): Quote args with wildcards. --- src/w32proc.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/w32proc.c b/src/w32proc.c index c21d589c525..a14a8ee384c 100644 --- a/src/w32proc.c +++ b/src/w32proc.c @@ -781,7 +781,14 @@ sys_spawnve (int mode, char *cmdname, char **argv, char **envp) variable in their environment. */ char ppid_env_var_buffer[64]; char *extra_env[] = {ppid_env_var_buffer, NULL}; - char *sepchars = " \t"; + /* These are the characters that cause an argument to need quoting. + Arguments with whitespace characters need quoting to prevent the + argument being split into two or more. Arguments with wildcards + are also quoted, for consistency with posix platforms, where wildcards + are not expanded if we run the program directly without a shell. + Some extra whitespace characters need quoting in Cygwin programs, + so this list is conditionally modified below. */ + char *sepchars = " \t*?"; /* We don't care about the other modes */ if (mode != _P_NOWAIT) -- 2.30.2